package com.link.base.base.contract.service;

import com.link.base.base.approval.model.Flow;
import com.link.base.base.contract.model.ModReceivable;
import com.link.core.basic.service.BasicService;

/**
 * 模具回款
 *
 * @author 王昊
 * @date 2021-03-18 15:54:57
 */
public interface  ModReceivableService extends BasicService<ModReceivable> {

    /**
     * 模具回款审批
     * @author 王昊
     * @date 9:13 2021/3/22
     * @param entity
     * @return void
     **/
    void modReceiveSubmit(ModReceivable entity) throws Exception;

    /**
     * 模具回款审批通过
     * @author 王昊
     * @date 9:46 2021/3/22
     * @param flow, arg1, arg2, arg3, arg4, arg5
     * @return void
     **/
    public void agreeApproval(Flow flow, String arg1, String arg2, String arg3, String arg4, String arg5) throws Exception;

    /**
     * 更新模具回款计划创建人为审批发起人
     * 模具合同审批通过，自动生成模具回款计划
     * @param entity
     * @throws Exception
     */
    void updateCreatedBy(ModReceivable entity) throws Exception;

}
